<?php
/**
 * La classe Credit gestisce i crediti degli utenti, il bilancio, le operazioni 
 * sui crediti come l'acquisto l'investimento ed i bonus. Offre pure uno storico di queste operazioni
 *
 * @author Stefano Poncini
 * @version 1.0
 */

class Credit{
	public $balance;
	
	function __construct(){
		
	}
	
	function getBalance($user_id){
		// Preparazione della query per ricavare il bilancio dell'utente
		$sql = "SELECT `balance` 
				FROM `credits` 
				WHERE `fk_ID_USER` = ? AND `ID_CREDIT` = 
					(SELECT MAX(`ID_CREDIT`) 
					FROM `credits` 
					WHERE `fk_ID_USER` = ?)";
		
        // Query di ricavo dati
		$result = Database::getInstance()->getConnection()->Execute($sql, array($user_id,$user_id));
		
		if($result->NumRows() != 1){
			$this->balance = '<i> Nessun credito </i>';
			 
			return $this->balance;
		}else{
			$row = $result->FetchRow();
			$this->balance = $row['balance'];
			
			return $this->balance;
		}
		
		$result->close();
	}
	
	
	function insertBonus($user_id){
		$bonus = 200;
		
		// Preparazione della query l'inserimento del bonus su registrazione
		$sql = "INSERT INTO `credits` 
				VALUES(null, ?, ?, ?, ?, ?)";
		
        // Query di inserimento
		$result = Database::getInstance()->getConnection()->Execute($sql, array(date('Y-m-d H:i:s', time()), 'Bonus Registrazione', $bonus, $bonus, $user_id));
		
		if(!Database::getInstance()->getConnection()->Insert_ID()) {
			return false;
		}else{
			return Database::getInstance()->getConnection()->Insert_ID();
		}
		
		$result->close();
	}
	
	// DA RIVEDERE!
	/*
	function insertCredit($ammount, $user_id){
		$tmp = $this->getBalance($user->id);
		if(is_numeric($tmp)){
			$balance = $tmp+$ammount;
		}else{
			$balance = $ammount;
		}
		
		$now = time();
		$action = 'Bonus';
		$this->db->insert("INSERT INTO `credits` VALUES(null, '" . date("Y-m-d H:i:s", $now) . "', '" . $action . "', " . $ammount . ", " . $balance . ", " . $user_id . ")");
	}*/
	
	function getCreditHistory($user_id){
		// Preparazione della query l'inserimento del bonus su registrazione
		$sql = "SELECT `datetime`, `action`, `ammount`, `balance` 
				FROM `credits` 
				WHERE `fk_ID_USER` = ?";
		
        // Query di inserimento
		$result = Database::getInstance()->getConnection()->Execute($sql, array($user_id));
		
		return $result;
		
		$result->close();
		
	}
}